5c6e1cbca8e23a96db60bf1331460c181d7a0369,src/main/java/com/acciente/oacc/DomainCreatePermissions.java,DomainCreatePermissions,getInstance,#DomainCreatePermission#,93
Before Change
}
}
else {
if (domainCreatePermission.isWithGrantOption()) {
return getInstanceWithGrantOption(DomainPermissions.getInstance(domainCreatePermission.getPostCreateDomainPermission()));
}
else {
return getInstance(DomainPermissions.getInstance(domainCreatePermission.getPostCreateDomainPermission()));
}
}
}
After Change
return new DomainCreatePermissionImpl(domainPostCreatePermission, withGrant);
}
public static DomainCreatePermission getInstance(DomainCreatePermission domainCreatePermission) {
if (domainCreatePermission instanceof DomainCreatePermissions.DomainCreatePermissionImpl) {
return domainCreatePermission;
}
final DomainCreatePermission verifiedPermission;
if (domainCreatePermission.isSystemPermission()) {
if (domainCreatePermission.isWithGrantOption()) {
verifiedPermission = getInstanceWithGrantOption(domainCreatePermission.getPermissionName());
}
else {
verifiedPermission = getInstance(domainCreatePermission.getPermissionName());
}
// validate system permission name and id matched
if (verifiedPermission.getSystemPermissionId() != domainCreatePermission.getSystemPermissionId()){
throw new IllegalArgumentException("Invalid system permission id for domain create permission: "
+ domainCreatePermission);
}
}
else {
if (domainCreatePermission.isWithGrantOption()) {
verifiedPermission = getInstanceWithGrantOption(DomainPermissions.getInstance(domainCreatePermission.getPostCreateDomainPermission()));
}
else {
verifiedPermission = getInstance(DomainPermissions.getInstance(domainCreatePermission.getPostCreateDomainPermission()));
}
}